package com.chinacoal.microservice.util;

import com.chinacoal.microservice.pojo.Currency;
import io.swagger.annotations.ApiModel;
import io.swagger.annotations.ApiModelProperty;
import lombok.AllArgsConstructor;
import lombok.Data;
import lombok.NoArgsConstructor;

import javax.validation.constraints.NotBlank;
import java.io.Serializable;
import java.util.Date;
import java.util.HashMap;

/**
 * @author zhuliang
 * @version V1.0
 * @Description: 查询条件的类
 * @date 2020-11-09 18：18
 */
@Data
@AllArgsConstructor
@NoArgsConstructor
@ApiModel(value = "查询条件")
public class QueryCriteria implements Serializable {

    @ApiModelProperty(value = "当前页")
    private Integer page;

    @ApiModelProperty(value = "每页显示的数据量")
    private Integer pageSize;

    @ApiModelProperty(value = "输入框输入的数据（合同(费用)：租户姓名,楼宇：楼宇名称，户型：户型名称，房间：房间名称，维修：楼宇名称,模板:模板名称）")
    private String inputString;

    @ApiModelProperty(value = "省id")
    private String provinceId;

    @ApiModelProperty(value = "市id")
    private String cityId;

    @ApiModelProperty(value = "区id")
    private String areaId;

    @ApiModelProperty(value = "时间区间查询-开始时间")
    private Date firstDate;

    @ApiModelProperty(value = "时间区间查询-结束时间")
    private Date endDate;

    @ApiModelProperty(value = "管理处ID")
    private String fkAdministrationId;

    @ApiModelProperty(value = "房间户型外键ID")
    private String fkRoomTypeId;

    @ApiModelProperty(value = "楼宇信息外键ID")
    private String fkBuildingId;

    @ApiModelProperty(value = "主体（租户）类型（个人0 or 企业1）")
    private Integer tenantType;

    @ApiModelProperty(value = "合同状态，下拉框，暂时写死（0,待审核，1,已审核，2,已终止）")
    private Integer contractState;

    @ApiModelProperty(value = "个人&&企业-联系电话")
    private String contactPhone;

    @ApiModelProperty(value = "合同编号(或房源编码)")
    private String contractNumber;

    @ApiModelProperty(value = "个人&&企业-身份证号 or 营业执照编号")
    private String idcardNumber;

    @ApiModelProperty(value = "区域编号外键")
    private String areaNumberId;

    @ApiModelProperty(value = "模板状态--0.正常-1.已终止")
    private Integer costFactorStatus;

    @ApiModelProperty(value = "统计年月")
    private Date statisticsMonth;

    @ApiModelProperty(value = "发票状态，0未开票；1已开票")
    private String invoiceStatus;

    @ApiModelProperty(value = "出租人外键ID")
    private String fkLessorId;

    @ApiModelProperty(value = "单元编码")
    private String unitCoding;

    @ApiModelProperty(value = "房间房号")
    private String houseNumber;

    @ApiModelProperty(value = "缴费状态，0自主缴费；1手动缴费；2未缴费")
    private String paymentStatus;

    @ApiModelProperty(value = "缴费时间")
    private Date paymentTime;

    @ApiModelProperty(value = "房间状态")
    private String roomStatus;

    @ApiModelProperty(value = "工单状态：0待处理，1已处理")
    private String workOrderStatus;

    @ApiModelProperty(value = "工单类型id")
    private String fkWorkOrderTypeId;

    @ApiModelProperty(value = "设备序列号")
    private String equipmentSerialNumber;

    @ApiModelProperty(value = "设备品牌")
    private String brand;

    @ApiModelProperty(value = "所属区域(房间id或公共区域)")
    private String region;

    @ApiModelProperty(value = "设备类型，外键id")
    private String fkEquipmentTypeId;

    @ApiModelProperty(value = "设备名称")
    private String equipmentName;
    
    @ApiModelProperty(value = "列表类型：1.考核管理 2.我的考核 / 考核统计：1.部门正职排行 2.其他排行")
    private Integer type;
}
